// pages/sureOrder/sureOrder.js
var md5 = require('../../data/md5.js')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [], //订单商品列表
    addressId: '', //地址id
    address: '', //地址信息
    allPrice: '', //商品总价
    openId: '' //openid
  },

  /* 获取购物车信息 */
  getCartList: function() {
    var url = wx.getStorageSync("config")
    let that = this;
    let openId = that.data.openId;
    let submitList = [];
    wx.request({
      url: url.service.homeUrl + "/huiguniang/shopcar/selectAll?openId=" + openId,
      method: 'GET',
      header: {
        'Content-Type': 'application/json'
      },
      success: function(res) {
        console.log(res)
        if (res.data.status.returnCode === 1) {
          let cartList = res.data.result;
          let submitList = res.data.result;
          console.log(cartList)
          console.log(submitList)
          let selectedList = [];
          for (let i = 0; i < cartList.length; i++) {
            // let list = cartList[i].list;
            // for(let j = 0; j < list.length; j++){
            let option = {};
            if (cartList[i].selected === 1) {
              option = cartList[i];
              selectedList.push(option);
            }
            // }   
          }
          submitList = selectedList;
          console.log("成功")
          console.log(submitList)
          that.setData({
            list: submitList,
            imgUrl: url.service.imgUrl
          })
          that.countPrice();
        }
      },
      fail: function(res) {},
      complete: function(res) {},
    })
  },

  /* 计算总价 */
  countPrice() {
    let list = this.data.list;
    let allPrice = 0; //总价
    // for (let i = 0; i < list.length; i++) {
    let newList = list;
    let temPrice = 0; //每个店铺的总价
    for (let j = 0; j < newList.length; j++) {
      if (newList[j].selected === 1) {
        temPrice = temPrice + newList[j].productNumber * newList[j].productPrice;
      }
    }
    allPrice = allPrice + temPrice;
    // }
    this.setData({
      allPrice: allPrice
    })
  },

  /* 跳转收货地址 */
  linkAddress() {
    wx.navigateTo({
      url: '../addresses/addresses?status=choose',
      success: function(res) {},
      fail: function(res) {},
      complete: function(res) {},
    })
  },

  /* 获取地址信息 */
  getAddress: function() {
    var url = wx.getStorageSync("config");
    let that = this;
    let openId = that.data.openId;
    let addressId = that.data.addressId;
    let status = that.data.status;
    wx.request({
      // url: url.service.homeUrl + "/address/fetch?userId=" + userId + "&id=" + addressId,
      // url: url.service.homeUrl + "/huiguniang/address/fetch?openId=" + openId,
      url: url.service.homeUrl + "/huiguniang/address/fetch?id=" + addressId + "&openId=" + openId,
      method: 'GET',
      header: {
        'Content-Type': 'application/json'
      },
      success: function(res) {
        console.log("成功返回地址")
        console.log(res)
        if (res.data.status.returnCode === 1) {
          if (status === "choose") {
            that.setData({
              address: res.data.result,
              addressId: res.data.result.id
            })
          } else {
            that.setData({
              address: res.data.result[0],
              addressId: res.data.result[0].id
            })
          }
        }
        // let addressId = that.data.address.id
        // that.setData({
        //   addressId: addressId
        // })
      },
      fail: function(res) {},
      complete: function(res) {},
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    //获取用户openid
    let userInfo = wx.getStorageSync('userInfo');
    this.setData({
      openId: userInfo.openId
    });
    //获取用户openid
    // let openId = wx.getStorageSync('openId');
    // this.setData({
    //   openId: openId.openid
    // });
    //获取购物车信息
    this.getCartList();
    //获取地址信息
    this.getAddress();
    console.log(options)
  },

  /* 提交订单 */
  submit: function() {
    var url = wx.getStorageSync("config");
    let that = this;
    let addressId = that.data.addressId; //地址id
    let money = that.data.allPrice; //总价
    let list = that.data.list; //列表
    let openId = that.data.openId; //openid
    let submitList = [];
    if (list.length !== 0) {
      for (let i = 0; i < list.length; i++) {
        let newList = list;
        let option = {};
        let secondList = [];
        // option.sceneryId = list[i].sceneryId;
        for (let j = 0; j < newList.length; j++) {
          let option2 = {};
          option2.productPrice = newList[j].productPrice;
          option2.productNumber = newList[j].productNumber;
          option2.productId = newList[j].productId;
          secondList.push(option2);
        }
        submitList = secondList;
        // submitList.push(option);
      }
    }
    let data1 = {};
    data1 = {
      openId: openId,
      addressId: addressId,
      money: money,
      list: submitList,
      openId: openId
    }
    console.log(data1)
    if (addressId === '') {
      wx.showToast({
        title: '您还没有填写地址哦！',
        icon: 'none'
      })
    } else {
      wx.showModal({
        title: '提交订单',
        content: '确定要提交订单？',
        success: function(res) {
          if (res.cancel) {
            //点击取消,默认隐藏弹框
          } else {
            console.log("点击确认")
            //点击确定
            // wx.request({
            //   url: url.service.homeUrl + "/order/addOrder",
            //   method: "POST",
            //   header: {
            //     "Content-Type": "application/x-www-form-urlencoded"
            //   },
            //   data: {
            //     orderList: JSON.stringify(data1)
            //   },
            //   success: function(res) {
            //     console.log(res)
            //     // if (res.data.status.code === 1) {
            //     //   wx.setStorage({
            //     //     key: "prepayId",
            //     //     data: res.data.result.prepayId
            //     //   })
            //     //   let prepayId = res.data.result.prepayId;
            //     //   let tradeType = res.data.result.tradeType;
            //     //   // let sign = res.data.result.sign;
            //     //   // let nonceStr = res.data.result.nonceStr;
            //     //   var timestamp = Date.parse(new Date());//获取时间戳
            //     //   timestamp = timestamp / 1000;
            //     //   var v2 = timestamp.toString();
            //     //   let appid = 'wx56ba2719d169bce3';
            //     //   let key = '85AAADAECACF8195E614EE5D82582371';
            //     //   //生成sign
            //     //   function paySign(appid, nonceStr, prepay_id, timestamp, key) {
            //     //     var sign = ''
            //     //     //签名顺序按照ASCII字典序排序
            //     //     var signA = "appId=" + appid + "&nonceStr=" + nonceStr + "&package=prepay_id=" + prepayId + "&signType=MD5&timeStamp=" + timestamp
            //     //     var signB = signA + "&key=" + key
            //     //     // console.log(signB)
            //     //     sign = md5.md5(signB).toUpperCase()
            //     //     return sign
            //     //   }
            //     //   //生成nonceStr
            //     //   function getNonceStr(len) {
            //     //     len = len || 32
            //     //     var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'
            //     //     var maxPos = $chars.length
            //     //     var str = ''
            //     //     for (var i = 0; i < len; i++) {
            //     //       str += $chars.charAt(Math.floor(Math.random() * maxPos))
            //     //     }
            //     //     return str
            //     //   }

            //     //   let nonceStr = getNonceStr();

            //     //   wx.requestPayment({
            //     //     appId: 'wx56ba2719d169bce3',
            //     //     timeStamp: v2,
            //     //     nonceStr: nonceStr,
            //     //     package: 'prepay_id=' + prepayId,
            //     //     signType: 'MD5',
            //     //     paySign: paySign(appid, nonceStr, prepayId, v2, key),
            //     //     success: function (res) {
            //     //       wx.showModal({
            //     //         title: '支付成功！',
            //     //         showCancel: false,//是否显示取消按钮
            //     //         success: function (res) {
            //     //           if (res.cancel) {
            //     //             //点击取消,默认隐藏弹框
            //     //           } else {
            //     //             //点击确定
            //     //             wx.reLaunch({
            //     //               url: '../user/user',
            //     //             })
            //     //           }
            //     //         },
            //     //       })
            //     //     },
            //     //     fail: function (res) {
            //     //       wx.showModal({
            //     //         title: '支付失败！',
            //     //         showCancel: false,//是否显示取消按钮
            //     //         success: function (res) {
            //     //           if (res.cancel) {
            //     //             //点击取消,默认隐藏弹框
            //     //           } else {
            //     //             //点击确定
            //     //             wx.reLaunch({
            //     //               url: '../user/user',
            //     //             })
            //     //           }
            //     //         },
            //     //       })
            //     //     }
            //     //   })
            //     //   // wx.showToast({
            //     //   //   title: '提交成功',
            //     //   //   icon: 'success',
            //     //   //   duration: 2000
            //     //   // })
            //     // }
            //   },
            //   fail: function(res) {},
            //   complete: function(res) {},
            // })
          }
        },
        fail: function(res) {}, //接口调用失败的回调函数
        complete: function(res) {}, //接口调用结束的回调函数（调用成功、失败都会执行）
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {
    if (this.data.addressId) {
      this.getAddress();
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})